The present invention relates to a method in a communication system according to the preamble of claim 1. The invention also relates to a communication system according to the preamble of claim 11. Furthermore, the invention relates to a wireless communication device according to the preamble of claim 12.
There are known wireless communication systems, such as the PLMN (Public Land Mobile Network), which is a communication network based on a cellular system. One example that can be mentioned is the GSM 900 mobile communication network according to the GSM standard (Global System for Mobile Communications). The cells of the communication network are distributed within a wide geographical area, and mobile stations (MS), such as mobile phones, which are connected to the communication network via base stations BS, move from one cell to another. These mobile phones are distinguished from each other by means of a subscriber-specific identification code, wherein communication, such as data transmission or an audio call, is possible between two mobile stations. The identification code is, for instance, an IMSI code (International Mobile Subscriber Identity). The communication network takes care of routing information via base stations and mobile services switching centers (MSC), by utilizing register data which indicate the location of the mobile station in the area of the cells of different base stations. Furthermore, the following wireless communication networks should be mentioned: GSM-1800, GSM-1900, PDC, CDMA, US-TDMA, IS-95, USDC (IS-136), iDEN (ESMR), DataTAC, and Mobitex.
In order to perform data transmission and processes connected with data transmission in communication devices, such as servers and wireless communication devices, which are connected to a communication network, a set of communication rules must be available for defining the allowed messages and the function of the participants of the data transmission at the different stages of the communication. As is well known, one such set of communication rules in data transmission is a protocol used by the devices to communicate with each other. For data transmission especially in wireless communication networks, a wireless application protocol WAP is developed, which will be used as an example in the following specification. One version of the WAP application protocol is specified in the WAP Architecture Version Apr. 30, 1998 publication (Wireless Application Protocol Architecture Specification; Wireless Application Protocol Forum Ltd, 1998), which is published in the Internet, and which includes for example a description on the architecture of the WAP application protocol. By means of the WAP application protocol, it is possible to define a series of protocols on different levels, which can be used to develop new services and devices e.g. for digital mobile communication networks based on a cellular network. For example, the WAP application protocol has already been developed for SMS services (Short Messaging Service), USSD services (Unstructured Supplementary Services Data), CSD services (Circuit Switched Data), and GPRS services (Global Packet Radio System) of the GSM network, and for the services of the IS-136 and PDC network.
The WAP application protocol is designed to describe those standard components that enable data transmission especially between mobile stations (client) and servers of the communication network (origin server). In order to gain access to servers located in the WWW network, the WAP uses a gateway which also functions as a proxy containing functions for data transmission between a WAP protocol stack and a WWW protocol stack (HTTP, TCP/IP), as well as functions for coding and decoding the content (WML, Wireless Markup Language, or HTML) of the information for data transmission. In the WAP, specified presentation formats are used to define the content of the information and the applications. The content is transferred using standardized data transmission protocols. A so-called browser or a microbrowser is used in the wireless communication device to control a user interface (UI).
The application layer in the architecture of the aforementioned WAP application protocol applies a defined architecture of a wireless application environment WAE. The purpose of the WAE application environment is to provide operators and service providers with an open environment, by means of which it is possible to create a large group of services and applications on top of different wireless communication methods functioning as a platform. The different WAE applications of communication devices follow a procedure used in the Internet World Wide Web (WWW) network, in which different applications and information are presented by means of standardized presentation formats and browsed for example with known WWW browsers. Consequently, in order to use different resources of communication devices, the servers and the information of the Internet network are labelled with a URI address (Uniform Resource Identifier) which is independent of the location, and the presentation format of the information is supported by the browser used, and is, for example, HyperText Markup Language (HTML) or JavaScript. On the other hand, the WAE application environment especially takes into account the requirements of the wireless communication devices and wireless communication networks. At present, according to prior art, the WAE applications (user agents), such as browsers, only support the WSP/B protocol. For example browsers communicate with a gateway server via a WSP layer (Wireless Session Protocol) of the WAP protocol stack, which will be described later. The gateway, in turn, provides functions for converting the data transmission protocol so that access to the resources of a WWW server using the HTTP protocol would be possible. According to prior art, the WAP protocol stack is described in more detail in the aforementioned publication, and the WAE application environment is described in more detail e.g. in the WAP WAE Version Apr. 30, 1998 publication, published in the Internet (Wireless Application Protocol Wireless Application Environment Overview; Wireless Application Protocol Forum Ltd, 1998).
The URI addresses are used to locate resources by providing the location of the resource with an abstract identification. When the resourse is located, the system can subject the resource to different procedures which depend on the application and on the purpose of pursuing access to the resource. As is well known, several different data transmission protocols are used in this context, of which for example the HTTP (HyperText Transport Protocol), FTP (File Transfer Protocol), MAILTO (Electronic Mail Address), and GOPHER (The Gopher Protocol) can be mentioned.
As is well known, the URL address used by the HTTP is utilized to indicate resources which are available in the Internet network, for example in its servers, by using an HTTP data transmission protocol, and it has the format:
http:// less than host greater than : less than port greater than / less than path greater than ,
in which the data transmission protocol used can be deduced from the xe2x80x9chttpxe2x80x9d part, xe2x80x9c less than host greater than xe2x80x9d represents the domain name or the IP address (Internet Protocol) of the server in the communication network, xe2x80x9c less than port greater than xe2x80x9d represents the number of the port, and it can also be left out, because data transmission protocols use a default port. Furthermore, xe2x80x9c less than path greater than xe2x80x9d describes the resource in question in more detail and functions as a selector in the HTTP. The prefix xe2x80x9c//xe2x80x9d illustrates that the address follows the data transmission protocols used in the Internet network. A more precise indication of the resources by means of the xe2x80x9c less than path greater than xe2x80x9d part varies in different data transmission protocols, and in addition to that, it is possible to provide a xe2x80x9c less than user greater than xe2x80x9d part between the xe2x80x9c//xe2x80x9d and xe2x80x9c less than host greater than xe2x80x9d parts to indicate the user, as in the FTP, and a xe2x80x9c less than password greater than xe2x80x9d part to indicate a password. The resource can also be identified by means of a URN name (Uniform Resource Naming), wherein it is possible to use only a name instead of a URL address, and the URN name is modified to a URL address when necessary. The URI address and the protocol (access algorithm) to be used, form a URL address (Uniform Resource Locator) to identify the resource.
As is well known, resources refer to a area (such as a directory or a file), a program (such as an application), or a peripheral device (such as a printer) allocated in the server of the data transmission network for collective use. In the prior art, however, problems often occur which relate especially to the use of these local resources. These local resources can include for example content and files, as well as applications contained in the same communication device, and peripheral and auxiliary devices connected to the same. Local resources can also be located in a peripheral device, such as a SIM card (Subscriber Identity Module) or a smart card, connected to a wireless terminal, such as a mobile phone. At present, for example the WAP application protocol contains no specification for methods for utilizing these local resources coupled to a wireless communication device.
In connection with WWW communication networks, there are such known agents as for example the WWW browsers Netscape Navigator and Microsoft Internet Explorer. A function known from the Navigator browser is the viewing of local files which are stored in the local hard disc of a data transmission device, typically a computer. The browser opens a file stored on the hard disc, reads its content and presents it in an intelligible format to the user. This browsing of files is implemented as an extension to the browser. Consequently, all necessary command primitives and references to the services (i.e. system functions) provided by the operating system software controlling the actual operation of the device, are built in the program code of the browser in order to implement the browsing of files. This can be implemented for example by means of a so-called standardized API interface, i.e. an application programming interface.
In the WAE application environment, the above-described facts would entail for example that an API interface was arranged for each WAE application of a wireless communication device for coupling to a smart card. Correspondingly, the interface of the smart card would be responsible for transmitting low-level commands (command APDU) to the smart card. The responses given by the card are then transmitted back to the application via interfaces. Known methods to attend to the coupling are the Open Card Framwork specification and the PC/SC specification. However, the specifications differ from each other, and thus each WAE application should take the differences and various API interfaces into account.
Another possibility is to arrange the WAE application in such a way that it would be in direct communication with a resource, such as a smart card, which is physically coupled to the mobile station. This would mean that the WAE application would be responsible for transmitting command primitives (command APDU), the functions being programmed in the WAE application. This would create a significant problem, because it would be necessary to provide each WAE application with the necessary command primitives for each different local resource. This would also have the result that for new resources, the WAE applications would have to be supplemented with the necessary command primitives so that these resources could be implemented. That would create a significant need to update the WAE applications, a limited possibility to use the new resources, and a barrier to the implementation and development of new resources.
The purpose of the present invention is to provide a method that enables applications utilizing the used application protocol to gain efficiently access to local resources in a straightforward and efficient manner. A particular purpose of the invention is to introduce a new method to enable applications applying the WAP application protocol to gain access to local resources, which include for example a SIM card of a mobile station, or an attachable smart card.
The central principle of the invention is to utilize the protocol stack used in order to utilize local resources. Another central principle of the invention is to apply an indication corresponding e.g. to the URL address when referring to local resources.
The method in the communication system according to the invention is characterized in what will be presented in the characterizing part of the appended claim 1. The communication system according to the invention is characterized in what will be presented in the characterizing part of the appended claim 11. The wireless communication device according to the invention is characterized in what will be presented in the characterizing part of the appended claim 12.
A considerable advantage of the invention is, that it is possible to avoid including a standardized API interface or necessary command primitives in the application, and nevertheless, local resources can be utilized flexibly. Thus, for example the complexity of WAP applications is reduced considerably, and the implementation of applications in the mobile station is facilitated as well. The changes required to implement the invention in WAE applications are small, because the mechanisms already available in the WAE application (GET and POST methods, etc) are utilized. In the mobile station, the changes required by the invention can be advantageously implemented with changes in the application software which controls the functions of the mobile station.
The principle of the WAP application protocol is that a mobile station functioning as a client contacts a server which is located in the communication network. The advantage of the invention is that this principle can still be applied, wherein to gain access to the local resources, the application makes a request to the lower protocol layer and also receives a response which the server, in this case a local resource, has generated and transmitted to the client. A further advantage of the invention is that the principle can also easily be expanded for example in such a way that the local resource can receive requests from another mobile station or server too, not only from the one containing the smart card. In that case, the interface of the smart card functions like a server.
The local resource can also transmit requests to other mobile stations and servers, and, furthermore, also to the mobile station to which it is attached. The advantage therein is that the smart card, such as a SIM card, can transmit a request to the server, for example to update applications functioning in a SIM card from the server of the operator (download).
The principle of the invention can also be implemented in a situation where the smart card is communicating with another smart card. An example that can be mentioned is the transfer and relay of payments from one smart card to another. Thus, one of the smart cards can be connected to a server functioning in the network, and a protocol stack according to the invention is implemented in the server. By means of the xe2x80x9c less than host greater than xe2x80x9d part of the URL address, it is possible to indicate said server. The user attaches the smart card into the mobile station, after which an application is activated for setting up a connection to the server, the application being loaded from the server and implemented for example by means of a WMLScript command language.
A particular advantage of the invention e.g. in connection with the WAP application protocol is that it is possible to efficiently utilize functions connected with the HTTP data transmission protocol of the WSP/B protocol already known as such. These include, for example, GET, PUT, and POST requests. Consequently, the header fields of the HTTP protocol can also be utilized in the data transmission, as well as the headers of the HTTP protocol for authentication. Correspondingly, it is possible to utilize efficiently the methods of the WWW communication network for authorization or data transmission.
A further advantage of the invention is that it can be used to conceal the structure and implementation of the local resource from the user of said resource. When several implementations of the local resource, for example a memory module, a smart card or both of them, are coupled to the mobile phone, their lower level interfaces typically are very different. By means of the invention it is possible to use them in the same way, because both resources appear to the user as servers with which communication is effected by means of the WSP/B protocol and via the interface (Local Resource Interface). Thus, the user does not have to understand the real structure of the resource, and the low level interface through which the communication takes place.